package cn.ondraw.ragflow.service;

import cn.ondraw.ragflow.pojo.CommonResponse;
import cn.ondraw.ragflow.pojo.request.CreateChatAssistantRequest;
import cn.ondraw.ragflow.pojo.request.DeleteChatAssistantRequest;
import cn.ondraw.ragflow.pojo.request.ListChatAssistantRequest;
import cn.ondraw.ragflow.pojo.request.UpdateChatAssistantRequest;
import cn.ondraw.ragflow.pojo.response.CreateChatAssistantResponse;
import cn.ondraw.ragflow.pojo.response.ListChatAssistantResponse;

/**
 * 聊天助手服务接口
 */
public interface AssistantRagFlowService {

    /**
     * 创建聊天助手
     *
     * @param request 创建聊天助手的请求对象
     * @return 创建聊天助手的响应对象
     */
    CreateChatAssistantResponse createChatAssistant(CreateChatAssistantRequest request);


    /**
     * 更新聊天助手
     *
     * @param chatId  要更新的聊天助手的 ID
     * @param request 更新聊天助手的请求对象
     * @return 通用响应对象
     */
    CommonResponse updateChatAssistant(String chatId, UpdateChatAssistantRequest request);

    /**
     * 删除聊天助手
     *
     * @param request 删除聊天助手的请求对象
     * @return 通用响应对象
     */
    CommonResponse deleteChatAssistants(DeleteChatAssistantRequest request);

    /**
     * 列出聊天助手
     *
     * @param request 列出聊天助手的请求对象
     * @return 列出聊天助手的响应对象
     */
    ListChatAssistantResponse listChatAssistants(ListChatAssistantRequest request);
}
